/*
	DefaultLootTables.h

	List of all default loot tables used for ships that have no specific drops
	(c)2008 Palestar Inc, Jeff Everett
*/

#ifndef DEFAULTLOOTTABLES_H
#define DEFAULTLOOTTABLES_H

class DefaultLootTables
{
public:
	struct DefaultLootInfo
	{
		DefaultLootInfo(ClassKey a_key, int a_chance) : m_classKey(a_key),m_nChance(a_chance) {};
		ClassKey   m_classKey;
		int		  m_nChance;
	};

	DefaultLootTables(){};

	static void setup();
	static ClassKey GetRandomLoot(NounShip * a_pShip);
private:
	// internals

	static int SelectRandom(std::vector<DefaultLootInfo *> &a_list );

	// DATA
	static std::vector<DefaultLootInfo *> m_ScoutList;
	static std::vector<DefaultLootInfo *> m_EngineerList;
	static std::vector<DefaultLootInfo *> m_SupplyList;
	static std::vector<DefaultLootInfo *> m_TransportList;
	static std::vector<DefaultLootInfo *> m_FrigateList;
	static std::vector<DefaultLootInfo *> m_DestroyerList;
	static std::vector<DefaultLootInfo *> m_CruiserList;
	static std::vector<DefaultLootInfo *> m_DreadList;
	static std::vector<DefaultLootInfo *> m_StationList;

	static bool m_bInitialized;
};

#endif
